package com.zenithmind.mall.service;

/**
 * 订单定时任务服务接口 - 遵循接口隔离原则，专门负责订单的定时处理操作
 * 
 * @author ZenithMind Team
 * @since 2025-07-03
 */
public interface OrderScheduleService {

    /**
     * 处理超时订单
     * 
     * @return 处理数量
     */
    Integer handleTimeoutOrders();

    /**
     * 自动确认收货
     * 
     * @return 处理数量
     */
    Integer autoConfirmOrders();

    /**
     * 自动好评
     * 
     * @return 处理数量
     */
    Integer autoReviewOrders();

    /**
     * 处理超时未支付订单
     * 
     * @param timeoutMinutes 超时分钟数
     * @return 处理数量
     */
    Integer handleUnpaidTimeoutOrders(Integer timeoutMinutes);

    /**
     * 处理超时未发货订单
     * 
     * @param timeoutHours 超时小时数
     * @return 处理数量
     */
    Integer handleUnshippedTimeoutOrders(Integer timeoutHours);

    /**
     * 处理超时未收货订单
     * 
     * @param timeoutDays 超时天数
     * @return 处理数量
     */
    Integer handleUnreceivedTimeoutOrders(Integer timeoutDays);

    /**
     * 处理超时未评价订单
     * 
     * @param timeoutDays 超时天数
     * @return 处理数量
     */
    Integer handleUnreviewedTimeoutOrders(Integer timeoutDays);

    /**
     * 清理过期订单数据
     * 
     * @param expireDays 过期天数
     * @return 清理数量
     */
    Integer cleanExpiredOrders(Integer expireDays);
}
